The Internet is a collection of disparate computer systems which use a common protocol to communicate with each other. A common use of the Internet is to access World Wide Web (web) pages. Web pages are typically stored on a server and remotely accessed by a client over the Internet using a web browser.
A web site is a collection of web pages. A web site typically includes a home page and a hierarchical order of follow-on web pages that are accessible through the home page. The web pages are connected to each other using hypertext links. The links allow a user to browse web pages of a web site by selecting the links between the web pages. Distinct Web sites may be respectively identified by respective distinctly associated Internet domain names.
To increase user visitations and revenue, web sites have become very sophisticated. Web sites typically include web pages that provide information to users, advertise products or services to users and/or provide site search functions for users. A problem for web site owners is how to determine how successful the web site is, for example, whether the informational or other needs of users are met and whether the users are purchasing goods and services advertised on their site.
Programs for analyzing traffic on a network server, such as a web server, are discussed in the related art. In these prior art systems, the program typically runs on the web server that is being monitored. Data is compiled, and reports are generated on demand or are delivered from time to time via email to display information about web server activity, such as the most popular page by number of visits, peak hours of website activity, most popular entry page, and so on. Alternatively data is logged on the web server that is being monitored and the logs are transferred to another computer, where they are compiled and analyzed.
Another technique for collecting web site analytics is by means of a client side script being embedded in web pages to monitor traffic. Such a script can collect information and submit it to a central server where the information is analyzed and stored. The script runs on a client device that typically collects URLs that a user visits, mouse movement, scrolling of web pages, resizing of browser windows, click events, keyboard use etc. (“per-action” data), the sequence of the visited URLs, and so on. The collected information is typically assembled and sent, “per-page” together with the identification of the client (e.g., an IP address) to the central server.
The sequence of visited URLs is typically gathered using a linear model of web browsing, where a visitor navigates from web page A to web page B to web page C. However in reality, a user may open several browsers' windows or tabs, and then switch from one to another in any way the visitor likes. The linear model originated from the linear nature of web server logs from which traffic analysis evolved. A result of this linear model is that the time a visitor spends on a web page is measured as the time that passes from the load event to the unload event. However, this time usually does not represent the real time a user has spent interacting with the page, but rather with the time the page remained open.
The conventional monitoring techniques that are based on a client-size script were primarily designed to be compatible with web browsers executed over personal computers and the like, where the user interacts with the browser using a mouse, and where the browser is active within a window. However, handled computing devices, such as smart phones, tablet computers, electronic readers, and like, have increasingly become very popular.
There are a number of differences in browsing activity performed in the handled devices versus personal computers. For example, handled devices allow users to interact with web pages through a touch screen display. In most cases, the mouse is replaced with a finger whereby the interaction is merely performed by tapping on the touch screen display. In addition, the content of a web page displayed in a browser executed within a handheld device (a “mobile browser”) is adapted to a smaller display area. Thus, the content is displayed differently in the mobile browser than in a browser of a personal computer. Further, handled devices allow the execution of “mobile applications” also known as “APPs”. These mobile applications provide access to web content that is not accessed through the mobile browsers. Providers of such applications are increasingly interested in information about their visitors.
At least due to the above noted differences related to browsing activity on handled devices, conventional client-side monitoring scripts cannot accurately monitor users' interaction with web pages and mobile applications.
Therefore, it would be advantageous to provide a solution that overcomes the deficiencies of conventional techniques for tracking and analyzing users' browsing activity.